package com.ufop.model;

import java.util.ArrayList;
import java.util.List;
import java.util.Observable;

public abstract class TurnoComponent extends Observable{
	public static int idTurnoVotacaoAtivo = 0;
	private String obsTurno;
	private boolean turnoFinalizado = false;
	private List<UsuarioVoto> usuariosVotos = new ArrayList<UsuarioVoto>();
	
	public abstract int getQtdeVotos();
	
	public void addUsuario(UsuarioVoto usuarioVoto) {
		usuariosVotos.add(usuarioVoto);
	}

	public void removeUsuario(UsuarioVoto usuarioVoto) {
		usuariosVotos.remove(usuarioVoto);
	}

	public List<UsuarioVoto> getComponentsUsuario() {
		return usuariosVotos;
	}
	
	public List<TurnoComponent> getComponents() {
		return null;
	}

	public UsuarioVoto getComponentUsuario(int index) {
		return usuariosVotos.get(index);
	}

	public static int getIdTurnoVotacaoAtivo() {
		return idTurnoVotacaoAtivo;
	}

	public static void setIdTurnoVotacaoAtivo(int idTurnoVotacaoAtivo) {
		TurnoComponent.idTurnoVotacaoAtivo = idTurnoVotacaoAtivo;
	}

	public String getObsTurno() {
		return obsTurno;
	}

	public void setObsTurno(String obsTurno) {
		this.obsTurno = obsTurno;
	}

	public boolean isTurnoFinalizado() {
		return turnoFinalizado;
	}

	public void setTurnoFinalizado(boolean turnoFinalizado) {
		this.turnoFinalizado = turnoFinalizado;
	}

	public List<UsuarioVoto> getUsuariosVotos() {
		return usuariosVotos;
	}

	public void setUsuariosVotos(List<UsuarioVoto> usuariosVotos) {
		this.usuariosVotos = usuariosVotos;
	}
	
	
}
